C和C++中<<是什么意思,有什么区别?

来源:百度知道 编辑:UC知道 时间:2024/06/12 12:27:55

  1. C中:

    <<可作为左移算符 (向左移一位,右边自动补0)

    10001011 << 1=

    00010110 = 22

    相当于二进制的每个数都变成当前值的两倍,结果就是变成当前值的两倍,速度比乘法快。

    n * 2 == (n << 1)

  2. C++中:

  • <<单用可作为左移算符

  • cout << 可作为输出使用,相当于prinf

"<<和>>在c中是用来做位运算的,在C++中被重载了,即可以做位运算也可以做输入输出流的... "正解

<<是左移位运算符,每移一位相当于*2,当然比乘法快的,在C中总是要选择最快的。

>?= 没有看出来,我想这段代码不是标准c++的,如果真是这样的话a>?=b的意思就应该是a=a>b?a:b的一种简略形式,使用这种表达应该能够得到优化的,会更快一点的。

当然没有超出范围了,在32位机里int是32位的,29位是不会超出范围的,这样做就是因为习惯了这种写法了吧,因为在变量的时候<<比乘法要快的,所以习惯了,常量也这样写了

流输入,流输出

<<和>>在c中是用来做位运算的,在C++中被重载了,即可以做位运算也可以做输入输出流的...

流输出

在cout后 << 这个符号我们称为插入操作符 也可以做位运算
给分吧 LZ

即可以做位运算也可以做输入输出流,
本例中1用32位的2进制表示为00...31个0...1,<<表示所有的数字向左移29位,溢出的抛去,补入的用0补全,即001000...29个0...,化为十进制也就是2^29。